23192
12737
Esta questão já tem respostas aqui:
Como faço para retornar a resposta de uma chamada assíncrona?
(42 respostas)
Fechado há 5 meses.
Portanto, ao executar o código a seguir, a resposta do console.log (ba) é indefinida
Mas quando tento fazer isso no console do Chrome V8, obtenho a saída correta que estou esperando. Não tenho certeza do que está acontecendo aqui.
let ba;
function Setqa () {
(assíncrono () => {
aguardar busca ('question.json')
.então (res => res.json ())
.então (assíncrono (dados) => {
ba = aguardar dados;
});
}) ();
}
Setqa ();
console.log (ba);
O conteúdo do arquivo json é o seguinte:
"questões": [{
"questionType": "multiple",
"question": "Como está o tempo",
"respostas": "",
"Resposta da questão": ""
},
{
"questionType": "multiple",
"question": "Como você está hoje?",
"answers": " 1",
"questionAnswer": "textPurpose1"
}
] 
Eu acho que deve funcionar
let ba;
function Setqa () {
return fetch ('question.json')
.então (res => res.json ())
.então (assíncrono (dados) => {
ba = aguardar dados;
});
}
Setqa (). Then (() => console.log (ba));
Mas uma abordagem melhor seria
função assíncrona setQa () {
const res = aguarda busca ('question.json');
return res.json ();
}
deixe ba = esperar setQa ();
|
Não é a resposta que você está procurando? Navegue por outras questões com a tag javascript json fetch console.log ou faça sua própria pergunta.